/*
@Time : 2021/8/2 下午6:15
@Author : Mrxuexi
@File : controller
@Software: GoLand
*/
package controller

import (
	"ListProject-ver1.0/models"
	"github.com/gin-gonic/gin"
	"net/http"
)
/**
 * @Description: 创建待办事项执行的方法
 * @param c
 */
func CreateTodo(c *gin.Context) {
	var todo models.Todo
	c.BindJSON(&todo)
	err := models.CreateATodo(&todo)
	if err != nil {
		c.JSON(http.StatusOK,gin.H{"error":err})
	}else {
		c.JSON(http.StatusOK,todo)
	}
}
/**
 * @Description: 获取代办事项清单的执行的方法
 * @param c
 */
func GetAllTodoList(c *gin.Context)  {
	todoList,err := models.GetAllTodoList()
	if err != nil {
		c.JSON(http.StatusOK,gin.H{"error":err.Error()})
	}else {
		c.JSON(http.StatusOK,todoList)
	}
}
func UpdateATodo(c *gin.Context)  {
	//检查是否拿到id
	id,ok := c.Params.Get("ID")
	if !ok {
		c.JSON(http.StatusOK,gin.H{
			"error":"没有拿到id",
		})
		return
	}
	//检查要操作的id是否存在
	todo,err := models.GetATodo(id)
	if err != nil {
		c.JSON(http.StatusOK,gin.H{
			"error":err.Error(),
		})
	}
	//获取json数据
	c.BindJSON(todo)
	//进行更新操作
	err = models.UpdateATodo(todo)
	if err != nil {
		c.JSON(http.StatusOK,gin.H{
			"error":err.Error(),
		})
	}else {
		c.JSON(http.StatusOK,todo)
	}
}
func DeleteATodo(c *gin.Context) {
	id, ok := c.Params.Get("ID")
	if !ok {
		c.JSON(http.StatusOK, gin.H{"error": "无效的id"})
		return
	}
	err := models.DeleteATodo(id)
	if err != nil {
		c.JSON(http.StatusOK,gin.H{"error":err})
	}else{
		c.JSON(http.StatusOK,gin.H{id : "deleted"})
	}
	//if err := models.DeleteATodo(id);err!=nil{
	//	c.JSON(http.StatusOK, gin.H{"error": err.Error()})
	//}else{
	//	c.JSON(http.StatusOK, gin.H{id:"deleted"})
	//}
}